#include <stdio.h>

//int main()
//{
//	//1~10
//	int i = 1;//初始化
//
//	while (i <= 10)//判断
//	{
//
//		printf("%d ", i);
//		i+=2;//调整
//	}
//	return 0;
//}

//使用for循环在屏幕上打印1~10

//int main()
//{
//	int i = 0;
//	for (i = 1; i <= 10; i++)
//	{
//		if (i == 5)
//			continue;
//		printf("%d ", i);
//	}
//	//while 和 for循环中，break都是终止循环
//	return 0;
//}
//

//int main()
//{
//	int i = 0;
//	for (i = 1; i <= 100; i++)
//	{
//		//业务处理
//		i = 0;
//	}
//	return 0;
//}

//int main()
//{
//	int i = 0;//[0, 10)
//	for (i = 0; i < 10; i++)
//	{
//	}
//	return 0;
//}
//
//
//int main()
//{
//	//for循环的初始化、判断、调整三个部分均可以省略
//	//如果把判断部分省略了，就意味着判断恒为真
//	//建议大家不要轻易的省略
//	/*for (;;)
//	{
//		printf("hehe\n");
//	}*/
//
//	int i = 0;
//	int j = 0;
//
//	for (i=0; i < 3; i++)
//	{
//		for (j=0; j < 3; j++)
//		{
//			printf("hehe\n");
//		}
//	}
//	
//	return 0;
//}

//使用do while语句在屏幕上打印1~10

//int main()
//{
//	int i = 1;
//
//	do
//	{
//		if (i == 5)
//			continue;
//		printf("%d ", i);
//		i++;
//	} while (i<=10);
//
//	return 0;
//}

//break: for while do     switch
//continue: for while do

#include <limits.h>

// int main()
// {
// 	int n = 0;
// 	//输入
// 	scanf("%d", &n);
// 	//计算n的阶乘
// 	int i = 0;
// 	int ret = 1;
// 	for (i = 1; i <= n; i++)
// 	{
// 		ret *= i;
// 	}

// 	printf("%d\n", ret);

// 	return 0;
// }

//计算 1!+2!+3!+……+10!
//
//int main()
//{
//	int n = 0;
//	//输入
//	//计算n的阶乘
//	int i = 0;
//	int ret = 1;
//	int sum = 0;
//	//1+2+6 = 9
//	for (n = 1; n <= 10; n++)
//	{
//		ret = 1;
//		//计算n的阶乘
//		for (i = 1; i <= n; i++)
//		{
//			ret *= i;
//		}
//		sum += ret;
//	}
//
//	printf("%d\n", sum);
//
//	return 0;
//}


//int main()
//{
//	int n = 0;
//	//输入
//	//计算n的阶乘
//	int i = 0;
//	int ret = 1;
//	int sum = 0;
//	//1+2+6 = 9
//	for (n = 1; n <= 10; n++)
//	{
//		ret *= n;
//		sum += ret;
//	}
//
//	printf("%d\n", sum);
//
//	return 0;
//}
//

//在一个【有序】数组中查找具体的某个数字n。
//
//int main()
//{
//	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
//	//            0 1 2 3 4 5 6 7 8 9
//	int k = 17;//k是要查找的数字
//	int i = 0;
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	int flag = 0;//
//	for (i = 0; i < sz; i++)
//	{
//		if (k == arr[i])
//		{
//			flag = 1;
//			printf("找到了，下标是:%d\n", i);
//			break;
//		}
//	}
//	if (flag == 0)
//		printf("找不到\n");
//
//	return 0;
//}
//
//
//int main()
//{
//	int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
//	//            0 1 2 3 4 5 6 7 8 9
//	int k = 17;//k是要查找的数字
//	int i = 0;
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	//折半查找（二分查找），前提是数组有序
//	int left = 0;
//	int right = sz - 1;
//
//	int flag = 0;
//	while (left<=right)
//	{
//		//int mid = (left + right) / 2;
//		int mid = left + (right - left) / 2;
//
//		if (arr[mid] < k)
//		{
//			left = mid + 1;
//		}
//		else if (arr[mid] > k)
//		{
//			right = mid - 1;
//		}
//		else
//		{
//			printf("找到了，下标是：%d\n", mid);
//			flag = 1;
//			break;
//		}
//	}
//	if (flag == 0)
//		printf("找不到\n");
//
//	return 0;
//}
//

// 编写代码，演示多个字符从两端移动，向中间汇聚。

//welcome to bit!!!!
//******************
//w****************!
//we**************!!
//.....
//welcome to bit!!!!
#include <string.h>
#include <windows.h>

//int main()
//{
//	char arr1[] = "welcome to bit!!!!";
//	char arr2[] = "******************";
//	int left = 0;
//	int right = strlen(arr1)-1;
//
//	while (left<=right)
//	{
//		arr2[left] = arr1[left];
//		arr2[right] = arr1[right];
//		printf("%s\n", arr2);
//		Sleep(1000);
//		system("cls");
//		left++;
//		right--;
//	}
//	printf("%s\n", arr2);
//
//	return 0;
//}
//
//int main()
//{
//	char arr1[] = "welcome to bit!!!!";
//	char arr2[] = "******************";
//	int left = 0;
//	int right = 0;
//
//	for(left = 0, right = strlen(arr1) - 1;left <= right; left++, right--)
//	{
//		arr2[left] = arr1[left];
//		arr2[right] = arr1[right];
//		printf("%s\n", arr2);
//		Sleep(1000);
//		system("cls");
//	}
//	printf("%s\n", arr2);
//
//	return 0;
//}
//

//编写代码实现，模拟用户登录情景，并且只能登录三次。（只允许输入三次密码，如果密码正确则
//提示登录成，如果三次均输入错误，则退出程序。

//假设正确的密码是："123456"
//int main()
//{
//	int i = 0;
//	char password[20] = { 0 };
//	int flag = 0;
//	for (i = 0; i < 3; i++)
//	{
//		printf("请输入密码:>");
//		scanf("%s", password);
//		//判断
//		if (strcmp(password, "123456") == 0)
//		{
//			flag = 1;
//			printf("密码正确\n");
//			break;
//		}
//		else
//		{
//			printf("密码错误\n");
//		}
//	}
//	if (flag == 0)
//		printf("三次密码均错误，退出程序\n");
//
//	return 0;
//}
//
#include <stdlib.h>
#include <stdio.h>
#include <time.h>

void menu()
{
	printf("*****************************\n");
	printf("*********   1. play  ********\n");
	printf("*********   0. exit  ********\n");
	printf("*****************************\n");
}
//
//rand函数会返回一个0~32767之间的随机数
//
//时间戳

void game()
{
	//1. 生成随机数
	int ret = rand()%100+1;//0~99+1-->1~100
	//printf("%d\n", ret);
	//2. 猜数字
	int guess = 0;
	while (1)
	{
		printf("请猜数字:>");
		scanf("%d", &guess);
		if (guess < ret)
		{
			printf("猜小了\n");
		}
		else if (guess > ret)
		{
			printf("猜大了\n");
		}
		else
		{
			printf("恭喜你，猜对了\n");
			break;
		}
	}
}

int main()
{
	int input = 0;
	//设置了随机数的生成器
	srand((unsigned int)time(NULL));

	do
	{
		menu();
		printf("请选择:>");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("选择错误\n");
			break;
		}
	} while (input);
	return 0;
}




